var path = require('path');

var auth = require('../app/authentication');
var config = require('./config');
var signIn = require('../app/signIn.controller');
var timetable = require('../app/timetable.controller');
var coordinate = require('../app/coordinate.controller');

module.exports = function(app) {
	 app.all('/', function(req, res){
		 res.redirect(path.join('app'));
	 });

	 // 登录鉴权与退出
	 app.post('/web/auth/login', auth.validUserToken);
	 app.post('/admin/auth/login', auth.adminLogin);
	 app.get('/auth/logout', auth.logout);

	 // 前端
	 app.all('/attendance/web/*', auth.webLoginAuth);
	 app.get('/attendance/web/timetable/query-enabled', timetable.queryEnabled);	//查询可用作息时间
	 app.get('/attendance/web/signIn/get/:id', signIn.getById);						//查询单条签到记录
	 app.get('/attendance/web/signIn/query/:start/:end', signIn.query);				//查询个人签到记录
	 app.get('/attendance/web/signIn/query-audit-count', signIn.queryAuditCount);	//查询待审核签到记录数量
	 app.get('/attendance/web/signIn/query-audit', signIn.queryAudit);				//查询待审核签到记录
	 app.patch('/attendance/web/signIn/audit', signIn.audit);						//审核签到
	 app.put('/attendance/web/signIn/causeDescription', signIn.causeDescription);	//原因说明
	 app.post('/attendance/web/signIn', signIn.signIn);								//签到

	 //后端
	 app.all('/attendance/admin/*', auth.adminLoginAuth);
	 app.get('/attendance/admin/timetable/query-all', timetable.queryAll);				//查询所有作息时间
	 app.get('/attendance/admin/coordinate/query-all', coordinate.queryAll);			//查询所有签到目的坐标
	 app.get('/attendance/admin/signIn/query-all', signIn.queryAll);					//条件查询所有签到记录
	 app.post('/attendance/admin/timetable', timetable.create);							//创建作息时间
	 app.put('/attendance/admin/timetable', timetable.update);							//更改作息时间
	 app.patch('/attendance/admin/timetable/:id/:isEnabled', timetable.updateStatus);	//禁用或是启用作息时间
	 app.post('/attendance/admin/coordinate', coordinate.create);						//坐标创建
	 app.put('/attendance/admin/coordinate', coordinate.update);						//坐标更改
	 app.patch('/attendance/admin/coordinate/:id/:isEnabled', coordinate.updateStatus);	//坐标启用或禁用

};